<<<<<<< HEAD
﻿#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stddef.h>  //宏 计算偏移量 单位是bit哈 
//union u
//{
//	char a; //1字节
//	int b; //4字节
//	short c;  //2字节
//};
//
//int main()
//{
//	union u uu;
//	printf("%zd\n",sizeof(uu));
//	printf("%p\n",&uu);
//	printf("%p\n",&(uu.c));
//	printf("%p\n",&(uu.b));
//	return 0;
//}

//union Un1
//{
//	char c[5]; //5字节
//	int i;    //4字节
//};
//union Un2
//{
//	short c[7];  //14字节
//	int i;     //4字节
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//	 //因为联合体的大小至少是最大成员的大小 这边最大的值是5，要需要取舍浪费掉3字节，
//	//因为这时候需要对齐，而这边最大的类型是int（4）,所以是4倍数最大是8字刚好可以内存对齐 
//	//不是最大内存的整数倍  联合体也是存在内存对齐的
// 	printf("%zd\n", sizeof(union Un1));  
//	printf("%zd\n", sizeof(union Un2));    //因为联合体的大小至少是最大成员的大小  这
//	return 0;
//}


//union Un1
//{
//	char c[5]; //5字节
//	int i;    //4字节
//};
//union Un2
//{
//	short c[7];  //14字节
//	int i;     //4字节
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//	printf("%zd\n", sizeof(union Un1));
//	printf("%zd\n", sizeof(union Un2)); 
//	return 0;
//}

//int  check_sys()
//{
//union tets
//{
//	int a;
//	char b;
//}t;
//      t.a = 1;
//	 return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//int check_sys()
//{
//	union test
//	{
//		int a;
//		char b
//	}t;
//	t.a = 1;
//	return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//int check_sys()
//{
//	union test
//	{
//		int a;
//		char b;
//   }t;
//	t.a = 1;
//	return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};


//struct gift_list
//{
//	//公共属性
//	int stock_number; //库存量
//	double price;  // 定价
//	int item_type; // 商品类型
//	
//	//特殊属性
//	char title[20];  //书名
//	char author[20];  //作者
//    int num_pages;  //页数
//	
//	char design[30]; //设计
//	int colors;  //颜色
//	int sizes;  //尺寸
//};

//struct gift_list
//{
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	union {
//		struct
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct
//		{
//			char design[30];//设计
//		}mug;
//		struct
//		{
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};


//struct gift_list
//{
//	//公共属性
//	int stock_number; //库存量
//	double price;  // 定价
//	int item_type; // 商品类型
//	
//	union un{
//		struct  // 因为只使用一次所以用：匿名结构体
//		{
//			//特殊属性
//			char title[20];  //书名
//			char author[20];  //作者
//			int num_pages;  //页数
//
//		}book;
//		struct {
//			char design[30]; //设计
//		}mug;
//		struct {
//			int colors;  //颜色
//			int sizes;  //尺寸
//		}shirt;
//	}item;  //类目，项目
//};

//struct gift_list
//{
//	//共同属性
//	int stock_number; //库存量
//	double price; //定价
//	int item_type;  //商品类型
//union un
//{
//		struct
//		{
//			//特殊属性
//			char title[20];  //书名
//			char author[20];  //作者
//			int num_pages;  //页数
//		}book;
//		struct
//		{
//			char design;  //设计
//		}mug;
//		struct
//		{
//			int colors; //颜色
//			int sizes; //尺寸
//		}shirt;
//	}item;
//};


//向把里面每一个数字取出来
//union U 
//{
//	int n;
//	struct S
//	{
//		char c1;
//		char c2;
//		char c3;
//		char c4;
//	}s;//4个字节
//};
//
//int main()
//{
//	union U u = { 0 };
//	u.n = 0x11223344;
//	printf("%x %x %x %x\n", u.s.c1, u.s.c2, u.s.c3, u.s.c4);
//	//int n = 0x11223344;
//	//4字节
//	
//	return 0;
//}

//int check_sys()
//{
//	int n = 1; // 小端01 00 00 00 大端 00 00 00 01
//
//	return *(char)&n;
//}

//int check_eye()
//{
//	union
//	{
//		int a;
//		char b;
//	}s;
//	s.a = 1;
//	return s.b;
//}

//枚举的关键字
enum Sex  //性别
{
	//这里列举枚举enum Sex的可能取值
	//为三的取值
	//这些可能取值是常量，也叫枚举常量
	MALE,
   FEMALE,
   SECRET
};

int main()
{
	printf("%d\n",MALE);
	printf("%d\n", FEMALE);
	printf("%d\n",SECRET);

	//枚举变量的值，必须以枚举常量的值赋值
	enum Sex s = MALE;
	s = FEMALE;
	return 0;
}

=======
﻿#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stddef.h>  //宏 计算偏移量 单位是bit哈 
//union u
//{
//	char a; //1字节
//	int b; //4字节
//	short c;  //2字节
//};
//
//int main()
//{
//	union u uu;
//	printf("%zd\n",sizeof(uu));
//	printf("%p\n",&uu);
//	printf("%p\n",&(uu.c));
//	printf("%p\n",&(uu.b));
//	return 0;
//}

//union Un1
//{
//	char c[5]; //5字节
//	int i;    //4字节
//};
//union Un2
//{
//	short c[7];  //14字节
//	int i;     //4字节
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//	 //因为联合体的大小至少是最大成员的大小 这边最大的值是5，要需要取舍浪费掉3字节，
//	//因为这时候需要对齐，而这边最大的类型是int（4）,所以是4倍数最大是8字刚好可以内存对齐 
//	//不是最大内存的整数倍  联合体也是存在内存对齐的
// 	printf("%zd\n", sizeof(union Un1));  
//	printf("%zd\n", sizeof(union Un2));    //因为联合体的大小至少是最大成员的大小  这
//	return 0;
//}


//union Un1
//{
//	char c[5]; //5字节
//	int i;    //4字节
//};
//union Un2
//{
//	short c[7];  //14字节
//	int i;     //4字节
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//	printf("%zd\n", sizeof(union Un1));
//	printf("%zd\n", sizeof(union Un2)); 
//	return 0;
//}

//int  check_sys()
//{
//union tets
//{
//	int a;
//	char b;
//}t;
//      t.a = 1;
//	 return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//int check_sys()
//{
//	union test
//	{
//		int a;
//		char b
//	}t;
//	t.a = 1;
//	return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//int check_sys()
//{
//	union test
//	{
//		int a;
//		char b;
//   }t;
//	t.a = 1;
//	return t.b;
//}
//
//int main()
//{
//	int ret = check_sys();
//	if (1 == ret)
//		printf("小端\n");
//	else
//		printf("大端\n");
//	return 0;
//}

//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};


//struct gift_list
//{
//	//公共属性
//	int stock_number; //库存量
//	double price;  // 定价
//	int item_type; // 商品类型
//	
//	//特殊属性
//	char title[20];  //书名
//	char author[20];  //作者
//    int num_pages;  //页数
//	
//	char design[30]; //设计
//	int colors;  //颜色
//	int sizes;  //尺寸
//};

//struct gift_list
//{
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	union {
//		struct
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct
//		{
//			char design[30];//设计
//		}mug;
//		struct
//		{
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};


//struct gift_list
//{
//	//公共属性
//	int stock_number; //库存量
//	double price;  // 定价
//	int item_type; // 商品类型
//	
//	union un{
//		struct  // 因为只使用一次所以用：匿名结构体
//		{
//			//特殊属性
//			char title[20];  //书名
//			char author[20];  //作者
//			int num_pages;  //页数
//
//		}book;
//		struct {
//			char design[30]; //设计
//		}mug;
//		struct {
//			int colors;  //颜色
//			int sizes;  //尺寸
//		}shirt;
//	}item;  //类目，项目
//};

//struct gift_list
//{
//	//共同属性
//	int stock_number; //库存量
//	double price; //定价
//	int item_type;  //商品类型
//union un
//{
//		struct
//		{
//			//特殊属性
//			char title[20];  //书名
//			char author[20];  //作者
//			int num_pages;  //页数
//		}book;
//		struct
//		{
//			char design;  //设计
//		}mug;
//		struct
//		{
//			int colors; //颜色
//			int sizes; //尺寸
//		}shirt;
//	}item;
//};


//向把里面每一个数字取出来
//union U 
//{
//	int n;
//	struct S
//	{
//		char c1;
//		char c2;
//		char c3;
//		char c4;
//	}s;//4个字节
//};
//
//int main()
//{
//	union U u = { 0 };
//	u.n = 0x11223344;
//	printf("%x %x %x %x\n", u.s.c1, u.s.c2, u.s.c3, u.s.c4);
//	//int n = 0x11223344;
//	//4字节
//	
//	return 0;
//}

//int check_sys()
//{
//	int n = 1; // 小端01 00 00 00 大端 00 00 00 01
//
//	return *(char)&n;
//}

//int check_eye()
//{
//	union
//	{
//		int a;
//		char b;
//	}s;
//	s.a = 1;
//	return s.b;
//}

//枚举的关键字
enum Sex  //性别
{
	//这里列举枚举enum Sex的可能取值
	//为三的取值
	//这些可能取值是常量，也叫枚举常量
	MALE,
   FEMALE,
   SECRET
};

int main()
{
	printf("%d\n",MALE);
	printf("%d\n", FEMALE);
	printf("%d\n",SECRET);

	//枚举变量的值，必须以枚举常量的值赋值
	enum Sex s = MALE;
	s = FEMALE;
	return 0;
}

>>>>>>> 9740130dc5647971fe03479dfaddf0b6c464fba6
// 经常和#define  进行对比 